#pragma once
#include"Status.h"
#define MAX_NAME 31
typedef int Boolean;
//typedef char VertexType;
typedef struct _ArcNode {
	int adjvex;
	struct _ArcNode* nextarc;
}ArcNode;//表节点
typedef struct
{
	int num;//课程序号
	char name[MAX_NAME];//课程名称
	float score;//课程学分
	int weeks;//课程课时
	int term;//学期序号
	int indegree;
}VertexType;//顶点数据类型
typedef struct
{
	VertexType data;//顶点信息
	ArcNode* firstarc;
} VNode;//头结点
typedef struct ALGraph
{
	VNode* Adjlist;
	int  vexnum;//图的当前顶点数
	int  arcnum;//图的边数
}ALGraph;
void FindInDegree(ALGraph* G, int indegree[]);
void CreateALGraph(ALGraph* G);//人工创建课程图
int GLocateVex(ALGraph* G, int x);